Pipa: A Behavioral Interface Specification Language for AspectJ
نویسندگان
چکیده
Pipa is a behavioral interface specification language (BISL) tailored to AspectJ, an aspect-oriented programming language. Pipa is a simple and practical extension to the Java Modeling Language (JML), a BISL for Java. Pipa uses the same basic approach as JML to specify AspectJ classes and interfaces, and extends JML, with just a few new constructs, to specify AspectJ aspects. Pipa also supports aspect specification inheritance and crosscutting. This paper discusses the goals and overall approach of Pipa. It also provides several examples of Pipa specifications and discusses how to transform an AspectJ program together with its Pipa specification into a corresponding Java program and JML specification. The goal is to facilitate the use of existing JML-based tools to verify AspectJ programs.
منابع مشابه
Moxa: An Aspect-Oriented Approach to Modular Behavioral Specifications
Design-by-Contract (DbC) is a software development method that utilizes assertions in a principled manner, and is beneficial for building reliable software systems. However, in our experience of applying DbC to the development of a working application, we faced a difficulty in dealing with assertions that have properties spanning over the natural program structure. Such crosscutting properties ...
متن کاملTaking into account Java’s Security Manager for static verification
The verification of Java programs is a difficult task, especially with components like the Security Manager which modify the semantic of the Java Virtual Machine (JVM). To model this invasive behaviour the Security Manager can be implemented as an aspect component, using AspectJ. In this paper we describe a framework for static verification of Java programs containing AspectJ advices specified ...
متن کاملThe LIME Interface Specification Language and Runtime Monitoring Tool
This paper describes an interface specification language designed in the LIME project (LIME ISL) and the supporting runtime monitoring tool. The interface specification language is tailored for the Java programming language and supports two kinds of specifications: (i) call specifications that specify requirements for the allowed call sequences to a Java object instance and (ii) return specific...
متن کاملAspect-oriented programming with AspectJ
This article describes the fundamental concepts of a complete AOP system. It discusses the AspectJ language specification and implementation. The article examines the use of the language, as well as its features and tooling support. It lays out a common crosscutting problem to illustrate the general syntax of the traditional AspectJ Language. The development tools of the AspectJ language are de...
متن کاملJML: A Notation for Detailed Design
JML is a behavioral interface specification language tailored to Java. It is designed to be written and read by working software engineers, and should require only modest mathematical training. It uses Eiffel-style syntax combined with model-based semantics, as in VDM and Larch. JML supports quantifiers, specification-only variables, and other enhancements that make it more expressive for speci...
متن کاملذخیره در منابع من
با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید
عنوان ژورنال:
دوره شماره
صفحات -
تاریخ انتشار 2003